2,778 research outputs found
Engineering DFS-Based Graph Algorithms
Depth-first search (DFS) is the basis for many efficient graph algorithms. We
introduce general techniques for the efficient implementation of DFS-based
graph algorithms and exemplify them on three algorithms for computing strongly
connected components. The techniques lead to speed-ups by a factor of two to
three compared to the implementations provided by LEDA and BOOST.
We have obtained similar speed-ups for biconnected components algorithms. We
also compare the graph data types of LEDA and BOOST
Constant Time Queries for Energy Efficient Paths in Multi-hop Wireless Networks
We investigate algorithms for computing energy efficient
paths in ad-hoc radio networks. We demonstrate how
advanced data structures from computational geometry
can be employed to preprocess the position of radio stations
in such a way that approximately energy optimal
paths can be retrieved in constant time, i.e., independent
of the network size. We put particular emphasis on actual
implementations which demonstrate that large constant
factors hidden in the theoretical analysis are not a
big problem in practice
SicHash -- Small Irregular Cuckoo Tables for Perfect Hashing
A Perfect Hash Function (PHF) is a hash function that has no collisions on a
given input set. PHFs can be used for space efficient storage of data in an
array, or for determining a compact representative of each object in the set.
In this paper, we present the PHF construction algorithm SicHash - Small
Irregular Cuckoo Tables for Perfect Hashing. At its core, SicHash uses a known
technique: It places objects in a cuckoo hash table and then stores the final
hash function choice of each object in a retrieval data structure. We combine
the idea with irregular cuckoo hashing, where each object has a different
number of hash functions. Additionally, we use many small tables that we
overload beyond their asymptotic maximum load factor. The most space efficient
competitors often use brute force methods to determine the PHFs. SicHash
provides a more direct construction algorithm that only rarely needs to
recompute parts. Our implementation improves the state of the art in terms of
space usage versus construction time for a wide range of configurations. At the
same time, it provides very fast queries
Bipartite ShockHash: Pruning ShockHash Search for Efficient Perfect Hashing
A minimal perfect hash function (MPHF) maps a set of n keys to the first n
integers without collisions. Representing this bijection needs at least
bits per key, and there is a wide range of practical
implementations achieving about 2 bits per key. Minimal perfect hashing is a
key ingredient in many compact data structures such as updatable retrieval data
structures and approximate membership data structures.
A simple implementation reaching the space lower bound is to sample random
hash functions using brute-force, which needs about tries
in expectation. ShockHash recently reduced that to about tries in expectation by sampling random graphs. With bipartite
ShockHash, we now sample random bipartite graphs. In this paper, we describe
the general algorithmic ideas of bipartite ShockHash and give an experimental
evaluation. The key insight is that we can try all combinations of two hash
functions, each mapping into one half of the output range. This reduces the
number of sampled hash functions to only about
in expectation. In itself, this does not reduce the asymptotic running time
much because all combinations still need to be tested. However, by filtering
the candidates before combining them, we can reduce this to less than
combinations in expectation.
Our implementation of bipartite ShockHash is up to 3 orders of magnitude
faster than original ShockHash. Inside the RecSplit framework, bipartite
ShockHash-RS enables significantly larger base cases, leading to a construction
that is, depending on the allotted space budget, up to 20 times faster. In our
most extreme configuration, ShockHash-RS can build an MPHF for 10 million keys
with 1.489 bits per key (within 3.3% of the lower bound) in about half an hour,
pushing the limits of what is possible
ShockHash: Towards Optimal-Space Minimal Perfect Hashing Beyond Brute-Force
A minimal perfect hash function (MPHF) maps a set of keys to the
first integers without collisions. There is a lower bound of
bits of space needed to represent an MPHF. A matching
upper bound is obtained using the brute-force algorithm that tries random hash
functions until stumbling on an MPHF and stores that function's seed. In
expectation, seeds need to be tested. The most
space-efficient previous algorithms for constructing MPHFs all use such a
brute-force approach as a basic building block.
In this paper, we introduce ShockHash - Small, heavily overloaded cuckoo hash
tables. ShockHash uses two hash functions and , hoping for the
existence of a function such that is an MPHF on . In graph terminology, ShockHash generates
-edge random graphs until stumbling on a pseudoforest - a graph where each
component contains as many edges as nodes. Using cuckoo hashing, ShockHash then
derives an MPHF from the pseudoforest in linear time. It uses a 1-bit retrieval
data structure to store using bits.
By carefully analyzing the probability that a random graph is a pseudoforest,
we show that ShockHash needs to try only hash
function seeds in expectation, reducing the space for storing the seed by
roughly bits. This makes ShockHash almost a factor faster than
brute-force, while maintaining the asymptotically optimal space consumption. An
implementation within the RecSplit framework yields the currently most space
efficient MPHFs, i.e., competing approaches need about two orders of magnitude
more work to achieve the same space
Sliding Block Hashing (Slick) -- Basic Algorithmic Ideas
We present {\bf Sli}ding Blo{\bf ck} Hashing (Slick), a simple hash table
data structure that combines high performance with very good space efficiency.
This preliminary report outlines avenues for analysis and implementation that
we intend to pursue
09491 Abstracts Collection -- Graph Search Engineering
From the 29th November to the 4th December 2009, the Dagstuhl Seminar
09491 ``Graph Search Engineering \u27\u27 was held
in Schloss Dagstuhl~--~Leibniz Center for Informatics.
During the seminar, several participants presented their current
research, and ongoing work and open problems were discussed. Abstracts of
the presentations given during the seminar as well as abstracts of
seminar results and ideas are put together in this paper. The first section
describes the seminar topics and goals in general.
Links to extended abstracts or full papers are provided, if available
Generalized multi-photon quantum interference
Non-classical interference of photons lies at the heart of optical quantum
information processing. This effect is exploited in universal quantum gates as
well as in purpose-built quantum computers that solve the BosonSampling
problem. Although non-classical interference is often associated with perfectly
indistinguishable photons this only represents the degenerate case, hard to
achieve under realistic experimental conditions. Here we exploit tunable
distinguishability to reveal the full spectrum of multi-photon non-classical
interference. This we investigate in theory and experiment by controlling the
delay times of three photons injected into an integrated interferometric
network. We derive the entire coincidence landscape and identify transition
matrix immanants as ideally suited functions to describe the generalized case
of input photons with arbitrary distinguishability. We introduce a compact
description by utilizing a natural basis which decouples the input state from
the interferometric network, thereby providing a useful tool for even larger
photon numbers
- …